In questa sezione verranno descritti i componenti distribuiti nella cartella Server del kit ISS. Se Microsoft IIS non Φ in esecuzione o si preferisce una diversa struttura di cartelle, rivedere le note seguenti.
Il client Φ configurato per DHCP. ╚ necessario configurare l'ISS per fornire un indirizzo IP di DHCP al client quando il client si connette al server. PoichΘ il processo di iscrizione Φ relativamente breve, Φ possibile che il tempo di scadenza riservato all'indirizzo IP sia solo di pochi minuti.
PoichΘ l'elaborazione per l'iscrizione Φ prevista per essere utilizzata su una connessione di accesso remoto punto a punto, non Φ necessario che gli indirizzi IP memorizzati per il server DHCP siano assegnati formalmente a indirizzi IP. ╚ possibile determinare se gli indirizzi IP di DHCP siano indirizzi Internet realmente validi o arbitrari.
AffinchΘ il client elabori automaticamente il file INS, Φ necessario registrare un tipo MIME per il file INS con l'ISS. Questo tipo MIME Φ stato designato "application/x-Internet-signup". Quando il client richiede un file INS, l'ISS risponde con questo tipo MIME che avvia l'applicazione di installazione associata dalla parte del client.
╚ necessario modificare i tipi MIME manualmente nel registro di configurazione. Per aggiungere il tipo MIME di file INS, utilizzare Regedt32.exe al fine di aggiungere le informazioni seguenti:
a questo codice:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\MimeMap
aggiungere il seguente valore:
application/x-internet-signup,ins,,5
A questo valore non Φ associata alcuna stringa associata. Per ulteriori informazioni sull'impostazione dei tipi MIME, Φ anche possibile fare riferimento alla Guida in linea di IIS.
Nota
AffinchΘ le impostazioni del registro di configurazione diventino effettive, Φ necessario arrestare tutti i servizi di IIS dopo l'aggiunta del nuovo tipo MIME. Non Φ sufficiente arrestare semplicemente e riavviare il servizio di publishing di pagine Web. In pratica, i servizi FTP e Gopher possono non essere in esecuzione nella configurazione ISS.
Questa versione di ISS di esempio Φ stata testata su IIS. Nelle sezioni successive sono riportate le note di installazione specifiche di IIS e di questa versione.
Il codice di origine CGI Φ scritto in C standard e utilizza un semplice file di inizializzazione formato per il database. ╚ necessario modificare immediatamente due sezioni del file di origine:
Queste sezioni sono identificate come la "Sezione di personalizzazione dell'ISP" nei commenti del codice di origine.
Gli elementi nella tabella delle parole chiave dei dati sono utilizzati in due modi:
Esistono due gruppi di funzioni di interfaccia di database:
La funzione di inizio transazione crea un handle di sessione univoco che identifica un dato client per l'iscrizione per tutto il resto del processo di iscrizione. Come citato in precedenza, questo handle di sessione pu≥ essere un semplice numero di sequenza, come mostrato nel codice CGI di esempio o un identificatore di transazione generato dal sistema di database. Il valore specifico dell'handle di sessione non Φ importante, purchΘ sia unico e sia possibile utilizzarlo per rintracciare la transazione per l'iscrizione.
╚ possibile utilizzare la funzione di fine transazione per gestire l'elaborazione al fine di concludere la transazione di database. Nel codice CGI di esempio Φ impostato un flag di stato per indicare che la transazione Φ stata accettata.
La funzione di interruzione ha lo stesso scopo di quella di fine, che gestisce appropriatamente l'eliminazione dell'iscrizione.
Oltre alle precedenti modifiche di codice CGI si consiglia di convalidare i dati a ogni invio CGI o aspettare la conclusione della transazione per convalidare i dati inseriti tramite il client per l'iscrizione. Il codice CGI di esempio mostra il metodo di convalida di ciascun invio CGI. Se la convalida dei dati ha esito negativo nella funzione FormtoDB, il modello HTML corrente verrα rigenerato e restituito nuovamente al client HTTP. Si consiglia di modificare questa funzione (ProcessCurrent) per includere un messaggio di avviso indicante l'errore di convalida dei dati.
L'esempio di codice di elaborazione CGI per l'iscrizione Φ stato compilato utilizzando Microsoft Visual C++ versione 4.1. Un file del progetto, Signup.mdb, Φ incluso in questo kit per ricreare il file eseguibile di elaborazione CGI, quando necessario. PoichΘ il database Φ stato implementato utilizzando funzioni del file di inizializzazione di Windows, il codice di origine comprende il file Windows.h. Potrebbe essere necessario modificare leggermente segmenti di codice se il server HTTP non Φ in esecuzione sulla piattaforma Microsoft Windows. Il codice di esempio Φ in genere piuttosto indipendente dalla piattaforma utilizzata.
L'esempio di codice di elaborazione CGI per l'iscrizione Φ stato compilato con semplici handle di sessione generati sequenzialmente. In una qualunque implementazione pubblica Φ necessario generare questi handle di sessione tramite un generatore di handle casuale. L'utilizzo di handle casuali elimina la possibilitα che un utente utilizzi l'handle di un altro utente, operazione che spesso viene effettuata con gli handle sequenziali.